package dp.findMaxForm;
/**
 * @Date 2020/04/20
 * @author 王光浩
 * @Thinking 使用递归
 */
public class MyMethodOne {
	public int findMaxForm(String[] strs, int m, int n) {
		int[][] help = new int[strs.length][2];  //统计每一个字符串的 0，1 个数
		for(int i=0 ; i<strs.length ; i++) {
			int len = strs[i].length();
			for(int j=0 ; j<len ; j++) {
				//将 0 的个数存放在下标为 0  处，将 1 的个数存放在下标为 1 处
				if( strs[i].charAt(j)=='0' ) help[i][0]++;
				else help[i][1]++;
			}
		}
		return 0;
    }
	private int recursively(int[][] help,int m,int n) {
		if(n<=0 || m<=0) return 0;
		int max = 0;
		for(int i=0 ; i<help.length ; i++) {
			int first = help[i][0];
			int second = help[i][1];
			if( 0<first && first<=m && 0<second && second<=n ) {
				help[i][0] = 0;
				help[i][1] = 0;
				max = Math.max(max, recursively(help,m-first,n-second));
			}
		}
		return max+1;
	}
}
